Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[develop]: Updates for building and running SRW on MacOS platform #1171

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

natalie-perlin
Copy link
Collaborator

@natalie-perlin natalie-perlin commented Dec 27, 2024

DESCRIPTION OF CHANGES:

Updated scripts and modulefiles to ensure SRW could be built and run on MacOS.
Building could be done using devbuild.sh script.
Running MacOS is done using standalone scripts located in ./ush/wrappers/*.

Building the UFS weather model code includes use of CXX linker instead of Fortran linker, the change of a CMakeLists.txt file for the WM is done in devbuild.sh.

Software packages mostly correspond spack-stack-1.8.0. Directions for building the sofware stack and running the SRW are included below in two separate links to documents (working copies).

Running SRW on MacOS:
https://docs.google.com/document/d/1ADfLi4Yaa25IXz7ZhGxoRlDcmvATIlRD0KI9Se-ZJ3c/edit?usp=sharing

Building spack-stack on MacOS for UFS-WM and SRW:
https://docs.google.com/document/d/1Z0L7eujZGtyeZRzcgguyZPsZpkwb2Om7UhFqQPVtxnE/edit?usp=sharing

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

TESTS CONDUCTED:

Tests are conducted on three different MacOS platforms

-->

  • derecho.intel
  • gaea.intel
  • hera.gnu
  • hera.intel
  • hercules.intel
  • jet.intel
  • orion.intel
  • wcoss2.intel
  • NOAA Cloud (indicate which platform)
  • Jenkins
  • fundamental test suite
  • comprehensive tests (specify which if a subset was used)

DEPENDENCIES:

A PR to the UFS-WM has been submitted: ufs-community/ufs-weather-model#2551
Current version of devbuild.sh assumes no changes to weather-model CMakeFiles.txt has been made.

DOCUMENTATION:

Documentation may need to be updated to reflect a new option to use devbuild.sh script for the build on MacOS platform.

ISSUE:

Addresses the issue mentioned in #1168
Documentation lists only CMake approach to be used on MacOS. It creates errors on MacOS, as well as requires additional steps (not documented) required for running the SRW. Adapted devbuild.sh script allows SRW to be built on MacOS.

Addressed the issue of running UFS WM on MacOS mentioned in ufs-community/ufs-weather-model#2371

CHECKLIST

  • My code follows the style guidelines in the Contributor's Guide
  • I have performed a self-review of my own code using the Code Reviewer's Guide
  • I have commented my code, particularly in hard-to-understand areas
  • My changes need updates to the documentation. I have made corresponding changes to the documentation
  • My changes do not require updates to the documentation (explain).
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published

LABELS (optional):

A Code Manager needs to add the following labels to this PR:

  • Work In Progress
  • bug
  • enhancement
  • documentation
  • release
  • high priority
  • run_ci
  • run_we2e_fundamental_tests
  • run_we2e_comprehensive_tests
  • Needs Cheyenne test
  • Needs Jet test
  • Needs Hera test
  • Needs Orion test
  • help wanted

CONTRIBUTORS (optional):

Copy link
Collaborator

@rickgrubin-noaa rickgrubin-noaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@gspetro-NOAA gspetro-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is in draft form, so perhaps you were already planning to do this, but the Google docs version of the documentation needs to be added to the authoritative SRW documentation (particularly the RunSRW chapter) where it differs from what's already there. Normally, I'd leave the change request till the PR is fully open, but since it already has an approval, I wanted to make sure that doesn't get missed. :)

Copy link
Collaborator

@RatkoVasic-NOAA RatkoVasic-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Approving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generation of workflow fails when code is built using CMake approach
5 participants